﻿/************************************************************************
** 文  件：
**	SceneInfo.h
** 功  能：
**	应用场景信息实体类
** 作  者：
**	email:lixx2048@163.com
**  wechat:lixiang6153
**  QQ:941415509
** 日  期：
**	2024/03/15	14:00:00
** 说  明：
**	无
** 版  本：
**	2024/03/15	14:00:00		1.0		lixx2048@163.com
/************************************************************************/
#pragma once
#include <string>
#include <memory>
#include "../util/DateTime.h"

class SceneInfo
{
public:
	SceneInfo();
	virtual ~SceneInfo();

public:
	std::string GetId();
	void SetId(std::string);

	std::string GetDevice();
	void SetDevice(std::string);

	std::string GetDetectType();
	void SetDetectType(std::string);

	int GetThreshold();
	void SetThreshold(int);

	std::string GetModel();
	void SetModel(std::string);

	std::string GetAlarmInfo();
	void SetAlarmInfo(std::string);

	std::string GetAlarmCode();
	void SetAlarmCode(std::string);

	DateTime GetCreateTime();
	void SetCreateTime(DateTime&);

	DateTime GetUpdateTime();
	void SetUpdateTime(DateTime&);

protected:
	// 场景编码
	std::string m_id = "";
	// 所属设备
	std::string m_device = "";
	// 检测分类
	std::string m_detectType = "";
	// 检测阈值
	int m_threshold = 0;
	// 模型编码
	std::string m_model = "";
	// 报警描述
	std::string m_alarmInfo = "";
	// 报警代码
	std::string m_alarmCode = "";
	// 更新时间
	DateTime m_updateTime = DateTime::Now();
	// 创建时间
	DateTime m_createTime = DateTime::Now();
};

typedef std::shared_ptr<SceneInfo> SceneInfoPtr;